import {
  Button,
  Table as IVIEWTable,
  Spin,
  Switch,
  Input,
  Tooltip,
  Icon
} from "iview";
import "iview/dist/styles/iview.css";

// vxe-table
import XEUtils from "xe-utils";
import {
  // 核心
  VXETable,
  // 功能模块
  // Icon,
  // Filter,
  // Menu,
  // Edit,
  // Export,
  Keyboard,
  // Validator,
  Header,
  Footer,

  // 可选组件
  Column,
  // Colgroup,
  // Grid,
  // Toolbar,
  // Pager,
  // Checkbox,
  // CheckboxGroup,
  // Radio,
  // RadioGroup,
  // RadioButton,
  // Input,
  // Textarea,
  // Button,
  Modal,
  // Tooltip,
  // Form,
  // FormItem,
  // FormGather,
  // Select,
  // Optgroup,
  // Option,
  // Switch,
  // List,
  // Pulldown,

  // 表格
  Table
} from "vxe-table";

// 自定义组件
import CsModal from "../src/component/modal";
import CsForm from "../src/component/form";
import CsTable from "../src/component/table";
import CsMenu from "../src/component/menu";
import CsTableOption from "../src/component/tableOption";

const cscomponent = {
  install: function(Vue) {
    Vue.component("CsModal", CsModal);
    Vue.component("CsTable", CsTable);
    Vue.component("CsForm", CsForm);
    Vue.component("CsMenu", CsMenu);
    Vue.component("CsTableOption", CsTableOption);
    Vue.component("Button", Button);
    Vue.component("i-switch", Switch);
    Vue.component("i-input", Input);
    Vue.component("Spin", Spin);
    Vue.component("Table", IVIEWTable);
    Vue.component("Icon", Icon);
    Vue.component("Tooltip", Tooltip);
    // 表格功能
    Vue.use(Header)
      .use(Footer)
      // .use(Icon)
      // .use(Filter)
      // .use(Edit)
      // .use(Menu)
      // .use(Export)
      .use(Keyboard)
      // .use(Validator)

      // 可选组件
      .use(Column)
      // .use(Colgroup)
      // .use(Grid)
      // .use(Toolbar)
      // .use(Pager)
      // .use(Checkbox)
      // .use(CheckboxGroup)
      // .use(Radio)
      // .use(RadioGroup)
      // .use(RadioButton)
      // .use(Input)
      // .use(Textarea)
      // .use(Button)
      .use(Modal)
      // .use(Tooltip)
      // .use(Form)
      // .use(FormItem)
      // .use(FormGather)
      // .use(Select)
      // .use(Optgroup)
      // .use(Option)
      // .use(Switch)
      // .use(List)
      // .use(Pulldown)
      // 安装表格
      .use(Table);
  }
};
// 这里的判断很重要
if (typeof window !== "undefined" && window.Vue) {
  window.Vue.use(cscomponent);
}
export default cscomponent;
